var USER_INTERFACE = "http://localhost:8080/bookStore/user";

var sendMsg = function(title, context, funcConfirm, funcCancel, confirmOnly){
	/**
	 * 函数名 : sendMsg
	 * 返回值 : 无
	 * 用途 : 用于使用模态框发送消息。
	 * 
	 * [string]   title       : 模态框标题
	 * [string]   context     : 模态框内容
	 * [function] funcConfirm : 点「确定」后会执行的函数
	 * [function] funcCancel  : 点「取消」后会执行的函数
	 * [boolean]  confirmOnly : 
	 * 		true          : 仅使用「取消」按钮，并且「取消」按钮文字会显示为“确定”
	 * 		false(默认值) : 同时使用「确定」和「取消」按钮 
	 */
	funcConfirm = funcConfirm || null;
	funcCancel  = funcCancel  || null;
	confirmOnly = confirmOnly || false;

	$("#msgModal h4").html(title);
	$("#msgModal p").html(context);
	if (confirmOnly) {
		$("#msgModalConfirm").hide();
		$("#msgModalCancel")
			.removeClass("btn-default")
			.addClass("btn-primary")
			.text("确定");
	}

	$("#msgModalConfirm").on("click", funcConfirm);
	$("#msgModalCancel").on("click", funcCancel);

	$("#msgModal").modal("show");
}

$("#msgModal").on("hide.bs.modal", function () {
	$("#msgModal h4").html("");
	$("#msgModal p").html("");

	$("#msgModalConfirm").off();
	$("#msgModalCancel").off();
});
/*************************************************************/

var haveSession = function () {
	/**
	 * 函数名 : haveSession
	 * 返回值 : true/false
	 * 用途 : 用于使用模态框发送消息。
	 *  
	 */
	
}

var intoLogged = function () {
												
	$("#btnLogin").addClass("hide");										
	$("#userDropdown"),removeClass("hide");
}

var getBooks = function (classifyId) {
	$.get(
		'./test.php',
		{
			type : "getBooks",
			classifyId : classifyId
		},
		function (data) {
			var books = JSON.parse(data);
			var bookList = "";

			$.each(books, function(i, book){
				bookList += "<div class=\"col-sm-6 col-md-4\">\
					<div class=\"thumbnail\">\
						<img src=\"" + book.image + "\">\
						<div class=\"caption\">\
							<h4>" + book.title + "</h4>\
							<p><span class=\"bookPrice\">" + book.price + "</span>元</p>\
							<p><a href=\"" + book.link + "\" class=\"btn btn-primary\" role=\"button\">查看详情</a></p>\
						</div>\
					</div>\
				</div>";
			});
			
			$("#bookList").html(bookList);
		}
	);
}

var getClassifies = function () {
	$.get(
		'./test.php',
		{
			type : "getClassifies"
		},
		function (data) {
			if (data == null){
				$("#bookList").html("加载失败，请与管理员联系。");
			} else {
				var classifies = JSON.parse(data);
				var classifyList = "";

				$.each(classifies, function(i, classify){
					classifyList += "<a href=\"javascript:(0);\" class=\"list-group-item\" data-classifyId=\"" + classify.id + "\">" + classify.name + "<\/a>";
				});

				$("#classifyList")
					.html(classifyList)
					.children().first().addClass("active");

				$("#classifyList a").on("click", function (e) {
					$(e.target).addClass("active").siblings().removeClass("active");

					$("#bookList").html("正在加载...");

					getBooks(e.target.getAttribute('data-classifyId'));
				});

				getBooks(1);
			}
		}
	);
}


$("#loginReg").on("click", function () {
	if ($("#loginEmail").val() == ""){
		sendMsg("未填写邮箱", "请输入邮箱！", null, null, true);
	} else if ($("#loginPsw").val() == "") {
		sendMsg("未填写密码", "请输入密码！", null, null, true);
	} else {
		// 这里的判断你可以自己写正则检查 Email，我就不写了
		$("#loginReg").button("loading");
		$.get(
			/**
			 * 验证邮箱
			 */
			USER_INTERFACE,
			{
				type  : "isExist",
				email : $("#loginEmail").val()
			},
			function (isExist) {
				// isExist [boolean] : true 表示这是一个新用户，要引导注册
				if (isExist) {
					sendMsg(
						"该邮箱未注册，是否进行注册？",
						"如果您已在本站注册过，请点“取消”并检查你填写的 Email 地址。",
						function () {
							$.post(
								/**
								 * 注册
								 */
								USER_INTERFACE,
								{
									email : $("#loginEmail").val(),
									psw   : $("#loginPsw").val()
								},
								function(regOK){
									// regOK [boolean] : true 表示注册成功，false 表示注册失败
									if (regOK) {
										sendMsg(
											"恭喜你！",
											"你的账号" + $("#loginEmail").val() + "已注册成功！",
											null,
											function () {
												// 刷新页面以加载 cookie

												intoLogged();
											},
											true
										);
									} else {
										sendMsg("注册失败...", "请联系管理员", null, null, true);
									}
								}

							);
						},
						function () {
							$("#loginReg").button("reset");
						}
					);
				} else {
					$.get(
						/**
						 * 登录
						 */
						USER_INTERFACE,
						{
							type  : "checkLogin",
							email : $("#loginEmail").val(),
							psw   : $("#loginPsw").val()
						},
						function (loginOK) {
							// loginOK [boolean] : true 表示登陆成功，false 表示密码错误
							if (loginOK){
								sendMsg("登录成功！")
							}
						}
					); // $.get
				}
			}
		); // $.get
	} // else
});

$(function () {

	if (haveSession())
		intoLogged();

});
